﻿// -------------------------------------------------------------------------
//    @FileName         :    Encrypt.h
//    @Author           :    Gao.Yi
//    @Date             :   2022-09-18
//    @Email			:    445267987@qq.com
//    @Module           :    NFPluginModule
//    @Desc             :    网络数据加密解密头文件，提供简单的网络数据加密解密功能。
//                          该文件提供了简单的网络数据加密解密功能，包括数据加密函数、
//                          数据解密函数、基于XOR的简单加密算法。
//                          主要功能包括提供网络数据传输的安全保护、支持任意长度数据的加密解密、
//                          使用对称加密算法，加密解密使用相同密钥。
//                          网络数据加密解密是NFShmXFrame框架的安全组件，负责：
//                          - 网络数据传输的安全保护
//                          - 基于XOR的简单加密算法
//                          - 支持任意长度数据的加密解密
//                          - 对称加密算法实现
//                          - 高性能的加密解密处理
//                          - 网络通信数据保护
//
// -------------------------------------------------------------------------

#pragma once

//先用简单的处理吧，后续看有没需要加其它算法

/**
 * @brief 数据加密函数
 * 
 * 使用XOR算法对数据进行加密，包括：
 * - 遍历数据缓冲区
 * - 对每个字节进行XOR运算
 * - 使用全局密钥进行加密
 * - 支持任意长度数据
 * - 高性能加密处理
 * 
 * @param pChar 要加密的数据缓冲区指针
 * @param length 数据长度
 */
void Encryption(char* pChar, int length);

/**
 * @brief 数据解密函数
 * 
 * 使用XOR算法对数据进行解密，包括：
 * - 遍历数据缓冲区
 * - 对每个字节进行XOR运算
 * - 使用全局密钥进行解密
 * - 支持任意长度数据
 * - 高性能解密处理
 * 
 * @param pChar 要解密的数据缓冲区指针
 * @param length 数据长度
 */
void Decryption(char* pChar, int length);
